package work.base.designpattern.single;

/**
 * 单例模式的简单实现 类加载到内存后 就实例化一个单例 JVM保证线程安全
 * 缺点：不管用到与否 类装载的时候就完成了实例化 因为是static变量
 */
public class SingleTest01 {

    private static final SingleTest01 INSTANCE = new SingleTest01();

    /**
     * 构造方法设成 private私有的 外部类无法通过new构造对象
     */
    private SingleTest01(){};

    public static SingleTest01 getInstance() {
        return INSTANCE;
    }

    public static void main(String[] args) {
        // 想要使用该对象 只能通过静态的getInstance()获取同一个对象
        SingleTest01 t1 = SingleTest01.getInstance();
        SingleTest01 t2 = SingleTest01.getInstance();
        System.out.println(t1 == t2);

    }


}
